.m-radio{
  display:inline-block;
  vertical-align: middle;
  position:relative;
  font-size:0;
  margin-right:8px;
  &-frame{
    display:inline-block;
    width: 18px;
    height:18px;
    border:1px solid v(border-default);
    border-radius: 50%;
    box-sizing: border-box;
    vertical-align: middle;
    text-align: center;
    transition:0.3s;
    color: v(text-white);
    &::before{
      content: '';
      display:inline-block;
      width:0;
      height:100%;
      vertical-align: middle;
    }
    *{
      vertical-align: middle;
    }
  }
  &-label{
    display:inline-block;
    vertical-align: middle;
    font-size: 14px;
    &:not(:empty){
      margin-left: 4px;
    }
  }
  &-core{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    opacity:0;
    z-index:10;
    cursor: pointer;
    &:checked{
      & ~ .m-radio-frame{
        border-color:v(color-primary);
        color: v(color-primary);
      }
    }
  }
}